{
    "manufacturer": "Doio",
    "keyboard_name": "doio/kb38",
    "maintainer": "PepperKats",
    "url": "https://www.keebmonkey.com/products/megalodon-doio-triple-knob-38-keyboard-with-oled-screen",
    "bootloader": "atmel-dfu",
    "diode_direction": "COL2ROW",
    "features": {
        "bootmagic": true,
        "command": false,
        "console": false,
        "extrakey": true,
        "mousekey": true,
        "nkro": true,
        "rgb_matrix": true,
        "rgblight": false
    },
    "matrix_pins": {
        "cols": ["F5", "F4", "F1", "F0", "B7", "B6", "B5", "B4"],
        "rows": ["D5", "D4", "D3", "D2", "B3", "B2"]
    },
    "processor": "atmega32u4",
    "usb": {
        "device_version": "1.0.0",
        "pid": "0x0000",
        "vid": "0xFEED"
    },
    "encoder": {
        "rotary": [
            {"pin_a": "C7", "pin_b": "C6"},
            {"pin_a": "F7", "pin_b": "E6"},
            {"pin_a": "D6", "pin_b": "D7", "resolution": 2}
        ]
    },
    "ws2812": {
        "pin": "F6"
    },
    "rgb_matrix": {
        "animations": {
            "alphas_mods": true,
            "gradient_up_down": true,
            "gradient_left_right": true,
            "breathing": true,
            "cycle_all": true,
            "rainbow_moving_chevron": true
        },
        "driver": "ws2812",
        "layout": [
            {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
            {"flags": 4, "matrix": [0, 1], "x": 62.2, "y": 0},
            {"flags": 4, "matrix": [0, 2], "x": 99.6, "y": 0},
            {"flags": 4, "matrix": [0, 3], "x": 124.4, "y": 0},
            {"flags": 4, "matrix": [0, 4], "x": 149.3, "y": 0},
            {"flags": 4, "matrix": [0, 5], "x": 174.2, "y": 0},
            {"flags": 4, "matrix": [0, 6], "x": 199.1, "y": 0},
            {"flags": 4, "matrix": [0, 7], "x": 224, "y": 0},

            {"flags": 4, "matrix": [1, 0], "x": 0, "y": 12.8},
            {"flags": 4, "matrix": [1, 1], "x": 24.9, "y": 12.8},
            {"flags": 4, "matrix": [1, 2], "x": 49.8, "y": 12.8},
            {"flags": 4, "matrix": [1, 3], "x": 74.6, "y": 12.8},
            {"flags": 4, "matrix": [1, 4], "x": 99.6, "y": 12.8},
            {"flags": 4, "matrix": [1, 5], "x": 124.4, "y": 12.8},
            {"flags": 4, "matrix": [1, 6], "x": 149.3, "y": 12.8},

            {"flags": 4, "matrix": [2, 0], "x": 0, "y": 25.6},
            {"flags": 4, "matrix": [2, 1], "x": 24.9, "y": 25.6},
            {"flags": 4, "matrix": [2, 2], "x": 49.8, "y": 25.6},
            {"flags": 4, "matrix": [2, 3], "x": 74.6, "y": 32},
            {"flags": 4, "matrix": [2, 4], "x": 90, "y": 25.6},
            {"flags": 4, "matrix": [2, 5], "x": 124.4, "y": 25.6},
            {"flags": 4, "matrix": [2, 6], "x": 149.3, "y": 25.6},

            {"flags": 4, "matrix": [3, 0], "x": 0, "y": 38.4},
            {"flags": 4, "matrix": [3, 1], "x": 24.9, "y": 38.4},
            {"flags": 4, "matrix": [3, 2], "x": 49.8, "y": 38.4},
            {"flags": 4, "matrix": [3, 3], "x": 99.6, "y": 38.4},
            {"flags": 4, "matrix": [3, 4], "x": 124.4, "y": 38.4},
            {"flags": 4, "matrix": [3, 5], "x": 149.3, "y": 38.4},

            {"flags": 4, "matrix": [4, 0], "x": 0, "y": 51.2},
            {"flags": 4, "matrix": [4, 1], "x": 24.9, "y": 51.2},
            {"flags": 4, "matrix": [4, 2], "x": 49.8, "y": 51.2},
            {"flags": 4, "matrix": [4, 3], "x": 74.6, "y": 57.6},
            {"flags": 4, "matrix": [4, 5], "x": 124.4, "y": 51.2},

            {"flags": 4, "matrix": [5, 0], "x": 12.5, "y": 64},
            {"flags": 4, "matrix": [5, 1], "x": 49.8, "y": 64},
            {"flags": 4, "matrix": [5, 2], "x": 99.6, "y": 64},
            {"flags": 4, "matrix": [5, 3], "x": 124.4, "y": 64},
            {"flags": 4, "matrix": [5, 4], "x": 149.3, "y": 64},

            {"flags": 2, "x": 224, "y": 64},
            {"flags": 2, "x": 74.6, "y": 64},
            {"flags": 2, "x": 0, "y": 64},
            {"flags": 2, "x": 0, "y": 0},
            {"flags": 2, "x": 74.6, "y": 0},
            {"flags": 2, "x": 224, "y": 0}
        ],
        "max_brightness": 200,
    },
    "layouts": {
        "LAYOUT": {
            "layout": [
                {"matrix": [0, 0], "label": "ESC", "x": 0, "y": 0},
                {"matrix": [0, 1], "label": "BSPC", "x": 2, "y": 0, "w": 2},
                {"matrix": [0, 2], "label": "RGB BACK", "x": 4.25, "y": 0},
                {"matrix": [0, 3], "label": "RGB OFF", "x": 5.25, "y": 0},
                {"matrix": [0, 4], "label": "RGB FORW", "x": 6.25, "y": 0},
                {"matrix": [0, 5], "label": "MAKE", "x": 7.5, "y": 0},
                {"matrix": [0, 6], "label": "REBOOT", "x": 8.5, "y": 0},
                {"matrix": [0, 7], "label": "BOOTLOAD", "x": 9.5, "y": 0},

                {"matrix": [1, 0], "label": "NUMLOCK", "x": 0, "y": 1.25},
                {"matrix": [1, 1], "label": "PSLS", "x": 1, "y": 1.25},
                {"matrix": [1, 2], "label": "PAST", "x": 2, "y": 1.25},
                {"matrix": [1, 3], "label": "PMNS", "x": 3, "y": 1.25},
                {"matrix": [1, 4], "label": "PAUS", "x": 4.25, "y": 1.25},
                {"matrix": [1, 5], "label": "SCRL", "x": 5.25, "y": 1.25},
                {"matrix": [1, 6], "label": "PSCR", "x": 6.25, "y": 1.25},

                {"matrix": [2, 0], "label": "7", "x": 0, "y": 2.25},
                {"matrix": [2, 1], "label": "8", "x": 1, "y": 2.25},
                {"matrix": [2, 2], "label": "9", "x": 2, "y": 2.25},
                {"matrix": [2, 3], "label": "PPLS", "x": 3, "y": 2.25, "h": 2},
                {"matrix": [2, 4], "label": "INS", "x": 4.25, "y": 2.25},
                {"matrix": [2, 5], "label": "HOME", "x": 5.25, "y": 2.25},
                {"matrix": [2, 6], "label": "PGUP", "x": 6.25, "y": 2.25},

                {"matrix": [5, 5], "label": "KNOB_L", "x": 7.5, "y": 2.25},

                {"matrix": [5, 6], "label": "KNOB_R", "x": 9.5, "y": 2.25},

                {"matrix": [3, 0], "label": "4", "x": 0, "y": 3.25},
                {"matrix": [3, 1], "label": "5", "x": 1, "y": 3.25},
                {"matrix": [3, 2], "label": "6", "x": 2, "y": 3.25},
                {"matrix": [3, 3], "label": "END", "x": 4.25, "y": 3.25},
                {"matrix": [3, 4], "label": "DEL", "x": 5.25, "y": 3.25},
                {"matrix": [3, 5], "label": "PGDN", "x": 6.25, "y": 3.25},

                {"matrix": [4, 0], "label": "1", "x": 0, "y": 4.25},
                {"matrix": [4, 1], "label": "2", "x": 1, "y": 4.25},
                {"matrix": [4, 2], "label": "3", "x": 2, "y": 4.25},
                {"matrix": [4, 3], "label": "PENT", "x": 3, "y": 4.25, "h": 2},
                {"matrix": [4, 5], "label": "UP", "x": 5.25, "y": 4.25},

                {"matrix": [5, 7], "label": "KNOB_D", "x": 7.5, "y": 3.25, "w": 3, "h": 3}

                {"matrix": [5, 0], "label": "0", "x": 0, "y": 5.25, "w": 2},
                {"matrix": [5, 1], "label": "PDOT", "x": 2, "y": 5.25},
                {"matrix": [5, 2], "label": "LEFT", "x": 4.25, "y": 5.25},
                {"matrix": [5, 3], "label": "DOWN", "x": 5.25, "y": 5.25},
                {"matrix": [5, 4], "label": "RIGHT", "x": 6.25, "y": 5.25}
            ]
        }
    }
}
